home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / pc / pm65sdk / sourcecode / includes / imediastore.h < prev    next >
C/C++ Source or Header  |  1996-11-18  |  3KB  |  79 lines

  1. /********************************************************************
  2.  * IMedia.h - Filter-Public Media Class
  3.  *
  4.  * Copyright (C) 1996 Adobe Systems Incorporated. All rights reserved
  5.  *
  6.  * ABSTRACT: 
  7.  *        IMEDIA_STORE is a pure virtual interface class used as a base for 
  8.  *    MEDIA_STORE.  IMEDIA_STORE objects are handed to filters so that filters
  9.  *     obtain an interface for storing media information and/or content 
  10.  *    along with an image being imported by the filter.  Objects of the class
  11.  *    are instantiated by ALDInfoProc() during ALD_APP_MEDIA_STORE. 
  12.  *    THE FILTER IS EXPECTED TO DESTROY THE OBJECT WHEN FINISHED.        
  13.  *
  14.  * $Revision:   1.0  $
  15.  *
  16.  *******************************************************************/
  17.  
  18. #ifndef IMEDIA_H
  19. #define IMEDIA_H
  20.  
  21. #include "aldtypes.h"
  22.  
  23. typedef enum HTMLPLATFORM
  24. {
  25.     HTMLPLATFORM_MAC = 0x4d4d4d4d,  // MMMM
  26.     HTMLPLATFORM_WIN = 0x57575757 // WWWW
  27. } HTMLPLATFORM;
  28.         
  29. // use of one or more of the following flags alerts HTML Export to the presence of data
  30. // that requires maintenance by HTML Export.  For example, specifying HTMLPFLAG_WIDTH + HTMLPFLAG_HEIGHT
  31. // indicate that HTML Export find cases of: WIDTH=???? HEIGHT=???? and replace with WIDTH=345 HEIGHT=100
  32. // (or whatever size the image is on export).
  33. typedef enum HTMLPARAMFLAGS {HTMLPFLAG_HREF = 1, HTMLPFLAG_SRC = 2, HTMLPFLAG_WIDTH = 4, 
  34.                              HTMLPFLAG_HEIGHT = 8}
  35.                 HTMLPARAMFLAGS;
  36.                              
  37. // use of one or more of the following flags alerts HTML Export to certain requested behavior
  38. // by the filter.  
  39. // HTMLAFLAG_NOIMAGE specifies that the image should never be exported to a file 
  40. // by Export HTML.  This is generally desireable for media tags like <EMBED>.
  41. // HTMLAFLAG_REPLACEIMGTAG specifies that the media tags should replace the <IMG> tag.
  42. // The alternative is to allow Export HTML to attempt to directly interpret your media
  43. // tag and to decide for itself what to replace the <IMG> tag with, if anything.
  44. // Media filters will almost always desire to set this flag!
  45. // 
  46. typedef enum HTMLAUXFLAGS {HTMLAFLAG_NOIMAGE = 1, HTMLAFLAG_REPLACEIMGTAG = 2}
  47.                 HTMLAUXFLAGS;                     
  48.  
  49. // HTMLPRIVDATA is the structure used for "HTML Data" private data
  50. // stored by PageMaker for filters and plugins, and used by Export HTML.
  51. // This structure definition is dictated by Export HTML, and may change 
  52. // in future versions of Export HTML.  PageMaker itself is to know nothing
  53. // about this structure.
  54. typedef struct _HTMLPRIVDATA
  55. {
  56.     DWORD        dwUlSize;        // size of the private data, inc ulSize, flags and tag data.
  57.     DWORD        dwPlatform;        // use HTMLPLATFORM
  58.     DWORD        dwVersion;        // version of this structure.  Current version is 0.
  59.     DWORD         dwParamFlags;    // use HTMLPARAMFLAGS
  60.     DWORD        dwAuxFlags;        // use HTMLAUXFLAGS
  61.     DWORD        dwOffsetOther;    // offset to other data
  62.     char        szContent;        // the HTML tag info
  63. } HTMLPRIVDATA;
  64.  
  65. class IMEDIA_STORE
  66. {
  67.     public:        
  68.         virtual ~IMEDIA_STORE() { }
  69.         
  70.         virtual WORD GetVersion() = 0;
  71.         virtual RC SetMediaType(char *pszMediaType) = 0;
  72.         virtual RC SetPluginType(char *pszPluginType) = 0;
  73.         virtual RC StorePDFMark(char *buf, long len) = 0;
  74.         virtual RC StoreHTMLData(BYTE *buf, long len) = 0;
  75.         virtual RC SetImageToNonPrinting(void) = 0;
  76. };
  77.  
  78. #endif // IMEDIA_H
  79.